//  Copyright (C) 2014 Xiande (Triston) Cao

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

#include "cvsie_meshnode.hpp"

using namespace cvsie;

CMeshNode::CMeshNode(int _id, Point * _point) :
  id(_id), point(_point) {
}


int CMeshNode::GetId() const {
  return id;
}


void CMeshNode::SetId(int _id) {
  id = _id;
}


Point * CMeshNode::GetPoint() const {
  return point;
}


void CMeshNode::SetPoint(Point * _point) {
  point = _point;
}


cfloat CMeshNode::GetDistanceToNode(const CMeshNode &node) const {
  if (point && node.GetPoint()) {
    return point->GetDistanceToPoint(*(node.GetPoint()));
  }
  return 0;
}
